﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using AP.LUNA.DataEntities;
using AP.LUNA.DataAccess;

namespace AP.LUNA.BusinessLogic
{
    public class BLAsignaturas : BLAstract, IBusinessLogic<asignaturas>
    {
        private LunaEntities context = null;
        public BLAsignaturas()
        {
            context = GetContext();
        }

        public List<asignaturas> GetAll()
        {
            return context.asignaturas.ToList();
        }

        public asignaturas GetbyId(int id)
        {
            return context.asignaturas.SingleOrDefault(a => a.id == id);
        }

        public List<asignaturas> GetbyProfesor(string idProfesor)
        {
            //context.profesores
            profesores P = context.profesores.FirstOrDefault(p => p.identificacion_profesor == idProfesor);
            return context.asignaturas.Include("profesores").Include("Grados").
                Where(a => a.id_profesor == P.id).ToList(); ;
        }

        public asignaturas GetbyId(Guid id)
        {
            throw new NotImplementedException();
        }

        public void Save(asignaturas entidad)
        {
            context.asignaturas.AddObject(entidad);
            context.SaveChanges();
        }

        public void Update(asignaturas entidad)
        {
            context.asignaturas.ApplyChanges(entidad);
            context.SaveChanges();
        }

        public void Delete(asignaturas entidad)
        {
            context.asignaturas.DeleteObject(entidad);
            context.SaveChanges();
        }
    }
}
